package www.hz.api;

import www.hz.api.dto.RaffleAwardListRequestDTO;
import www.hz.api.dto.RaffleAwardListResponseDTO;
import www.hz.api.dto.RaffleStrategyRequestDTO;
import www.hz.api.dto.RaffleStrategyResponseDTO;
import www.hz.api.response.Response;

import java.util.List;

/**
 * @className: IRaffleService
 * @Description: TODO
 * @version: v1.８.0
 * @author: hz
 * @date: 2025/4/19 10:46
 */
public interface IRaffleService {
    /**
     * 策略装配接口
     *
     * @param strategyId 策略ID
     * @return 装配结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询抽奖奖品列表配置
     *
     * @param requestDTO 抽奖奖品列表查询请求参数
     * @return 奖品列表数据
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO requestDTO);

    /**
     * 随机抽奖接口
     *
     * @param requestDTO 请求参数
     * @return 抽奖结果
     */
    Response<RaffleStrategyResponseDTO> randomRaffle(RaffleStrategyRequestDTO requestDTO);
}
